Schreiben und Formatieren von Bereichen und Containern in C++

Die Standard Template Library (STL) stellt eine elegante Möglichkeit dar, Werte in STL-Streams zu schreiben. Leider ist dies nicht immer die beste Lösung, und mit Arrays funktioniert diese Methode nicht.

In diesem Artikel wird eine bessere Möglichkeit zur Bereitstellung einer konsistenten Benutzeroberfläche für das Schreiben von Bereichen und Containern in Streams geschildert, mit der trotzdem der Operator << verwendet werden kann.

Betrachten wir zunächst, was eine allgemeine Lösung anbieten sollte. Sie sollte:

  1. in der Lage sein, Bereiche und Container zu schreiben. Die Lösung sollte für STL-ähnliche Bereiche funktionieren und gleichzeitig das Schreiben der Container erleichtern. Das Schreiben eines Bereichs bedeutet, dass man mit Hilfe einer [A, A + N]-Sequenz auch C-Arrays schreiben kann (A ist der Array, N ist die Größe des Arrays).

  2. in der Lage sein, gegebenenfalls jedes Element zu umgeben. Zum Beispiel könnte man folgendes Array schreiben wollen: ‚[John, James, Corina]‘

  3. in der Lage sein, gegebenenfalls eine Umwandlung (Transformation) auf jedes Element anzuwenden. Zum Beispiel möchte man vielleicht die Namen von Angestellten schreiben, wobei die Nachnamen in Großbuchstaben erscheinen sollen: [DOE, John; KEITH James; DYLAN, Richard]. Oder man möchte ein Array aus Ganzzahlen schreiben und dabei den Absolutbetrag jedes Elements verwenden.

  4. angemessene Defaulteinstellungen für die beiden vorangegangenen Punkte aufweisen. Wenn man zum Beispiel keine Transformation anwendet, sollte die Default-Transformation das Element unverändert ausgeben (die Identitäts-Transformation).
    Durch die Kombination dieser Fähigkeiten erhält man ein leistungsfähiges Verfahren für das Schreiben von Arrays. Wer jetzt noch nicht überzeugt ist, sollte sich einmal die Beispiele am Ende dieses Artikels ansehen.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Schreiben und Formatieren von Bereichen und Containern in C++

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *